package com.boot.mall.product.feign;

import com.boot.common.to.SkuReductionTo;
import com.boot.common.to.SpuBoundTo;
import com.boot.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

@FeignClient("mall-coupon")         // 远程调用mall-coupon下的接口
public interface CouponFeignService {

    /*
        远程调用过程：
            1、RequestBody将对象转为Json数据格式
            2、找到mall-coupon服务，并发送save请求，将Json数据存放到请求体当中
            3、对方接口接收请求，将请求体的Json转换为对象
        Json的数据模型是兼容的，双方服务无需使用同一个To

     */

    @PostMapping("/coupon/spubounds/save")
    R saveBounds(@RequestBody SpuBoundTo spuBoundTo);

    @PostMapping("/coupon/skufullreduction/saveInfo")
    R saveSkuReduction(@RequestBody SkuReductionTo skuReductionTo);
}
